home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1999 March / EnigmA AMIGA RUN 35 (1999)(G.R. Edizioni)(IT)[!][issue 1999-03].iso / earcd / devel / vbcc-68k-src / machines / amiga / doc / ixemul.doc < prev    next >
Text File  |  1999-01-01  |  3KB  |  90 lines

  1. ixemul.lib - C library for the Amiga68k version of vbcc
  2.  
  3.  
  4. INTRODUCTION
  5.  
  6.     ixemul.library is a shared Amiga library which is covered by the GNU
  7.     license and includes standard ANSI and POSIX functions as well as some
  8.     functions common in Unix, BSD and similar operating systems. Have a look
  9.     at the ixemul-archives if you want to find out more.
  10.  
  11.     The link libraries ixemul.lib and ixemuls.lib provided with vbcc only
  12.     contain stub functions which call the functions in the shared library
  13.     plus some auxiliary functions for vbcc.
  14.  
  15.     What are the main differences between vc.lib and ixemul.lib?
  16.  
  17.     - vc.lib contains (almost) only standard ANSI functions. If you want
  18.       to port Unix programs you will probably miss a lot of functions.
  19.       Also ixemul supports things like mapping Unix directory paths to
  20.       Amiga paths or expanding wildcards in command lines automatically.
  21.  
  22.     - Programs compiled for ixemul will be shorter because the code for all
  23.       functions is not contained in the executable itself.
  24.  
  25.     - Programs compiled for ixemul will need the ixemul.library present when
  26.       started.
  27.  
  28.     - Programs compiled for ixemul will probably need more memory because
  29.       the entire (rather large) ixemul.library will be loaded into memory.
  30.       With vc.lib only the functions your program uses will be in ram.
  31.       However if you have several programs using ixemul.library at the same
  32.       time only one copy of ixemul.library should be loaded.
  33.  
  34.     Things you should note:
  35.  
  36.     - With ixemul you do not need extra math-libraries. Floating point values
  37.       are always returned in d0/d1 therefore -no-fp-return must be specified.
  38.       The config-file will usually take care of this.
  39.  
  40.     - You must link with vlib:crt0.o as startup code (bcrt0.o for small data).
  41.       The config-file will usually take care of this.
  42.  
  43.     - You _must_ use the ixemul-includes (they are currently not part of this
  44.       archive) rather than the ones which are for vc.lib.
  45.       The config-file will usually take care of this.
  46.  
  47.     - I recommend you get the ixemul-distribution from aminet (in dev/gcc),
  48.       and have a look at it (although a lot is gcc-specific).
  49.  
  50.  
  51. LEGAL
  52.  
  53.     The crt0.o, bcrt0.o, ixemul.lib and ixemuls.o in this archive are public
  54.     domain.
  55.     Have a look at the ixemul-archives to find out about ixemul.library.
  56.  
  57.  
  58. USAGE
  59.  
  60.     First you must have the ixemul.library and the ixemul-includes (they
  61.     should e.g. be on aminet in dev/gcc/ixemul-sdk.lha) and assign ixinclude:
  62.     to the directory where they can be found.
  63.  
  64.     To compile a program to use ixemul you must make sure the proper
  65.     config-file is used. This distribution should contain vbcc:vc.ixemul and
  66.     vbcc:vc.ixemuls. The first is for large data and the second for small
  67.     data.
  68.     You can either copy one of them to the current directory and rename it
  69.     as vc.config or explicitly specify it when invoking vc, e.g.:
  70.  
  71.         vc +vbcc:vc.ixemul hello.c
  72.  
  73.     or
  74.  
  75.         vc +vbcc:vc.ixemuls hello.c
  76.  
  77.     to compile a large/small data hello.c. Note that you need not specify
  78.     -sd when using the vc.ixemuls config-file.
  79.     You can, however, specify e.g. -sc if you want small code, too.
  80.  
  81.     If your program needs a certain version of the ixemul.library you can
  82.     define a variable __ixemulVer with external linkage which specifies
  83.     the minimum required version, e.g.
  84.  
  85.         int __ixemulVer = 45;
  86.  
  87.  
  88. Volker
  89.  
  90.